{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from modeling.deeplab import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import argparse\n",
    "import logging"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "from PIL import Image"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pylab as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "from utils.loss import SegmentationLosses\n",
    "from torchvision import transforms\n",
    "from dataloaders import custom_transforms as tr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "class get_args():\n",
    "    \n",
    "    def __init__(self):\n",
    "        self.backbone = 'resnet'\n",
    "        self.dataset = 'tables'\n",
    "#         self.input = '../TableGenerations/dataset04/train/imgs/test-001.png'\n",
    "        self.output = './predict/0000.png'\n",
    "        self.model = './run/tables/deeplab-resnet/experiment_4/checkpoint.pth.tar'\n",
    "        \n",
    "        self.out_stride = 16\n",
    "        self.sync_bn = None\n",
    "        self.freeze_bn = False\n",
    "        \n",
    "        self.batch_size = 1\n",
    "        self.base_size = 600\n",
    "        self.crop_size = 600\n",
    "        \n",
    "        self.loss_type = \"ce\"\n",
    "        self.no_cuda = True\n",
    "        \n",
    "        self.cuda = not self.no_cuda and torch.cuda.is_available()\n",
    "        \n",
    "        pass"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_predict_model(args, n_classes):\n",
    "    net = DeepLab(num_classes=n_classes,\n",
    "                backbone=args.backbone,\n",
    "                output_stride=args.out_stride,\n",
    "                sync_bn=args.sync_bn,\n",
    "                freeze_bn=args.freeze_bn)\n",
    "\n",
    "    logging.info(\"Loading model {}\".format(args.model))\n",
    "\n",
    "    net.to(device=device)\n",
    "    net.load_state_dict(torch.load(args.model, map_location=device)[\"state_dict\"])\n",
    "    logging.info(\"Model loaded !\")\n",
    "\n",
    "    net.eval()\n",
    "    \n",
    "    return net"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "def transform_ts(sample):\n",
    "    composed_transforms = transforms.Compose([\n",
    "        tr.FixedResize(size=args.crop_size),\n",
    "        tr.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)),\n",
    "        tr.ToTensor()])\n",
    "\n",
    "    return composed_transforms(sample)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "args = get_args()\n",
    "\n",
    "in_files = \"../TableGenerations/paper_data/test04.png\" #args.input\n",
    "out_files = args.output\n",
    "\n",
    "## number of target classes\n",
    "n_classes = 3\n",
    "\n",
    "device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\n",
    "net = get_predict_model(args, n_classes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "img = Image.open(in_files).convert('RGB')\n",
    "\n",
    "sample = {'image':img, 'label':img}\n",
    "sample_tr = transform_ts(sample)\n",
    "with torch.no_grad():\n",
    "    output = net(sample_tr['image'].unsqueeze(0).cuda())\n",
    "pred = output.data.cpu()\n",
    "mask = torch.argmax(output, dim=1).squeeze(0).cpu()\n",
    "pred_mask = mask.numpy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "class_colors = np.array([[0, 0, 0], #boder line\n",
    "               [125, 125, 125], # text\n",
    "               [255, 255, 255]]) # background"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "r = pred_mask.copy()\n",
    "g = pred_mask.copy()\n",
    "b = pred_mask.copy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "for ll in np.arange(0, n_classes):\n",
    "    r[pred_mask == ll] = class_colors[ll, 0]\n",
    "    g[pred_mask == ll] = class_colors[ll, 1]\n",
    "    b[pred_mask == ll] = class_colors[ll, 2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "pred_mask_rgb = np.zeros((pred_mask.shape[0], pred_mask.shape[1], 3))\n",
    "pred_mask_rgb[:, :, 0] = r\n",
    "pred_mask_rgb[:, :, 1] = g\n",
    "pred_mask_rgb[:, :, 2] = b\n",
    "pred_mask_rgb_img = Image.fromarray(pred_mask_rgb.astype(np.uint8))\n",
    "pred_mask_rgb_img = pred_mask_rgb_img.resize(img.size)\n",
    "pred_mask_rgb_img.save(in_files + \".test.png\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1180, 697)"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plt.figure(figsize=(12, 12))\n",
    "# fig, axis = plt.subplots(1, 2, figsize=(20, 15))\n",
    "# axis[0].imshow(img)\n",
    "# axis[1].imshow(pred_mask_rgb_img)\n",
    "plt.figure()\n",
    "plt.imshow(img)\n",
    "\n",
    "plt.figure()\n",
    "plt.imshow(pred_mask_rgb_img)\n",
    "\n",
    "pred_mask_rgb_img.size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PIL.Image.Image"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(pred_mask_rgb_img)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "pytorch-py3",
   "language": "python",
   "name": "pytorch-py3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
